// app.js
App({
  onLaunch() {
    // 展示本地存储能力
    const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
  },
  
  // 登录方法
  login: function(callback) {
    const that = this;
    
    // 获取用户信息
    wx.getUserProfile({
      desc: '用于完善会员资料',
      success: (userInfo) => {
        // 保存用户信息到全局数据
        that.globalData.userInfo = userInfo.userInfo;
        
        // 模拟登录成功
        wx.setStorageSync('userInfo', userInfo.userInfo);
        
        // 回调成功
        if (callback) callback(true);
      },
      fail: () => {
        // 回调失败
        if (callback) callback(false);
      }
    });
  },
  
  // 网络请求方法
  request: function(url, options = {}) {
    // 自动拼接基础URL，如果url不是完整URL
    const fullUrl = url.startsWith('http') ? url : this.globalData.apiBase + url;
    
    return new Promise((resolve, reject) => {
      wx.request({
        url: fullUrl,
        method: options.method || 'GET',
        data: options.data || {},
        header: {
          'content-type': 'application/json',
          ...options.header
        },
        success: (res) => {
          resolve(res.data);
        },
        fail: (err) => {
          reject(err);
        }
      });
    });
  },
  
  globalData: {
    userInfo: null,
    apiBase: 'http://localhost:8000/api', // API基础地址
    apiBaseUrl: 'http://localhost:8000/api' // 兼容旧版本的API基础地址
  }
})
